1. Field of the Invention
The present invention generally relates to network file systems and schemes, and more particularly, to a network file system that appears as a “virtual” file system to client applications that access the file system.
2. Background Information
Many of the biggest data storage problems being faced by companies today center around the need for data availability and scalability. Oftentimes, companies cannot predict with any degree of certainty how much data they are going to capture and how much storage they will need for that data. For instance, adding features such as click stream capture to an e-commerce web site may require a huge increase in storage capacity, requiring network administrators, developers, and other support personnel to implement significant changes in the system. In addition, new features are not the only drivers of increased storage requirements. Storage requirements are also exacerbated by the growth of existing features. For example, as a web site grows its user base, additional storage will be required to accommodate these new users.
One architectural approach being used to help address the issue of storage scalability is by designing modular storage systems. This facilitates the process of the addition or removal of a pre-determined amount of storage capacity without affecting existing applications. Some sites are referring to these pre-determined modules as “cells” of storage. Due to their inherent storage structure, these cells impose a minimum level of granularity that may lead to an inefficient use of resources.
Modular storage systems are used because of inherently unpredictable storage requirements. A successful web site can exceed forecast storage requirements literally overnight. Some companies even resort to building out surplus capacity, and only “turning on” those resources as they are needed. For example, some online stock trading companies are now sizing their infrastructure to handle peak loads that are 400 percent greater than normal. Storage problems such as these have spawned a new industry comprising companies that provide software, hardware, and services directed toward helping these companies handle the peak loads that result from their rapid growth and successful marketing programs.
Today, the most sophisticated sites must be architected with storage cells in order to support scalability. This requires an extensive amount of foresight, engineering and implementation to achieve. Other, less sophisticated sites are faced with the challenges of storage scalability without such architectural assistance. These sites generally must learn to scale their systems through trial and error, a risky and painful approach to configuring mission-critical resources.
The foregoing problems make it clear that better storage solutions are needed by the marketplace. Preferably, these data storage solutions need to be extremely flexible by supporting “true” storage on demand. Many vendors, both hardware and software, claim that their products support storage on demand, but all such solutions require administration and re-configuration of various components of the system. For example, storage may have to be re-partitioned across a set of storage devices when new resources are added to a system.
“True” storage on demand means that granular components of storage may be added to the system in real-time, without affecting the operation of applications or other components. In addition to allowing the seamless addition of increments of storage, it is just as important that the solution has the capability of effectively managing the storage. The solution should provide a simple, easy-to-deploy system that does not increase in management complexity as the storage capacity increases. There are no integrated solutions of this type that provide “true” storage on demand capabilities in today's marketplace.